home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat4 / dmedia / sf2.z / sf2
Encoding:
Text File  |  1998-10-20  |  9.1 KB  |  199 lines

  1.  
  2.  
  3.  
  4. ssssffff2222((((4444))))                                                                  ssssffff2222((((4444))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      sf2, SoundFont, SoundFont2 - SoundFont Compatible Audio File Format
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////aaaauuuuddddiiiiooooffffiiiilllleeee....hhhh>>>>
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      The Audio File Library currently supports 13 of the commonly found audio
  16.      file formats, i.e., is able to recognize, read, and write sample data and
  17.      header information to and from files in these formats.  It is important
  18.      not to confuse _s_a_m_p_l_e or _a_u_d_i_o _d_a_t_a _f_o_r_m_a_t_s with _f_i_l_e _f_o_r_m_a_t_s.  The
  19.      former refers to the bit-wise organization of the sound samples in the
  20.      file, i.e., whether the format is 8-bit integer or 16-bit unsigned, etc.
  21.      Audio file format refers to the structure of the _a_u_d_i_o _f_i_l_e _h_e_a_d_e_r, the
  22.      chunk of on-disk data which preceeds the samples and which provides
  23.      information about the file to the audio program.  A single audio file
  24.      format may support a large variety of sample formats.
  25.  
  26.      The SSSSoooouuuunnnnddddFFFFoooonnnntttt CCCCoooommmmppppaaaattttiiiibbbblllleeee FFFFiiiilllleeee FFFFoooorrrrmmmmaaaatttt ((((ssssffff2222)))) was developed by  E-mu
  27.      Systems, Inc., for use on PC's. It consists of a complex RIFF header
  28.      containing large amounts of information about the sound samples, plus an
  29.      imbedded, contiguous block of binary data representing the sound samples.
  30.  
  31. DDDDAAAATTTTAAAA FFFFOOOORRRRMMMMAAAATTTT SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNNSSSS
  32.      SSSSaaaammmmpppplllleeee FFFFoooorrrrmmmmaaaattttssss::::
  33.           Two's complement integer only.
  34.  
  35.      SSSSaaaammmmpppplllleeee WWWWiiiiddddtttthhhhssss::::
  36.           16 bit only.
  37.  
  38.      BBBByyyytttteeee OOOOrrrrddddeeeerrrrssss::::
  39.           Always littleendian.
  40.  
  41.      CCCChhhhaaaannnnnnnneeeellll CCCCoooouuuunnnnttttssss::::
  42.           1 channel only.
  43.  
  44.      CCCCoooommmmpppprrrreeeessssssssiiiioooonnnn FFFFoooorrrrmmmmaaaattttssss::::
  45.           None.
  46.  
  47. FFFFIIIILLLLEEEE FFFFOOOORRRRMMMMAAAATTTT SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNNSSSS
  48.      SF2 file headers contain vast amounts of information.  The Audio File
  49.      Library parses a small portion of this information for use as an
  50.      instrument chunk.
  51.  
  52.      IIIInnnnssssttttrrrruuuummmmeeeennnntttt CCCCoooonnnnffffiiiigggguuuurrrraaaattttiiiioooonnnnssss::::
  53.           SoundFont2 headers contain a multi-level architecture of Presets,
  54.           Instruments, and Instrument Zones (a sample plus its articulation
  55.           data).  This "Instrument" is not the same level of structure as the
  56.           AF inst chunk;  an Instrument can contain any number of Instrument
  57.           Zones, each of which is the approximate equivalent to an AF inst.
  58.           Each audio sample may be used any number of times in different
  59.           Instrument Zones.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ssssffff2222((((4444))))                                                                  ssssffff2222((((4444))))
  71.  
  72.  
  73.  
  74.           Currently a maximum of 1 allowed for writing, though any number may
  75.           be found in a file opened for reading.  A single loop per inst is
  76.           allowed.
  77.  
  78.           The Audio File Library parses each Instrument Zone as a separate
  79.           inst chunk -- which often results in literally thousands of insts!
  80.           Each one references a set of instrument parameters (see below) which
  81.           provides a partial description of the MIDI articulation for that
  82.           Instrument Zone.  In order to allow this possibly-vast number of
  83.           insts to be grouped, an integer parameter for the parent Instrument
  84.           or Preset is provided.
  85.  
  86.      IIIInnnnssssttttppppaaaarrrraaaammmmssss aaaassssssssoooocccciiiiaaaatttteeeedddd wwwwiiiitttthhhh tttthhhhiiiissss iiiinnnnsssstttt::::
  87.  
  88.           Standard Params:
  89.  
  90.           AF_INST_MIDI_BASENOTE
  91.           AF_INST_NUMCENTS_DETUNE
  92.           AF_INST_MIDI_LONOTE
  93.           AF_INST_MIDI_HINOTE
  94.           AF_INST_MIDI_LOVELOCITY
  95.           AF_INST_MIDI_HIVELOCITY
  96.           AF_INST_NUMDBS_GAIN
  97.  
  98.           SoundFont - specific Params:
  99.  
  100.           AF_INST_SAMP_STARTFRAME   Starting frame offset for sample
  101.  
  102.           AF_INST_SAMP_ENDFRAME     Ending frame for sample
  103.  
  104.           AF_INST_SAMP_MODE         Sample loop mode.  One of three values:
  105.           -    AF_INST_LOOP_OFF         Loop not used ("one shot")
  106.           -    AF_INST_LOOP_CONTINUOUS  Sample loops through release
  107.           -    AF_INST_LOOP_SUSTAIN     Sample loops for sustain only ("sampled release")
  108.  
  109.           AF_INST_SAMP_RATE         Sample rate of sample referenced by inst
  110.  
  111.           AF_INST_TRACKID           Track ID for inst
  112.  
  113.           AF_INST_NAME              Name of sample referenced by inst
  114.  
  115.           AF_INST_PRESET_NAME       Name of preset containing the inst
  116.  
  117.           AF_INST_PRESETID          ID of preset containing the inst
  118.  
  119.           Currently, all the SoundFont - specific params are read-only See
  120.           aaaaffffSSSSeeeettttIIIInnnnssssttttPPPPaaaarrrraaaammmmLLLLoooonnnngggg(3dm) for more information about parameters.
  121.  
  122.      MMMMaaaarrrrkkkkeeeerrrrssss::::
  123.           Unlike AAAAIIIIFFFFFFFF(3dm) and WWWWAAAAVVVVEEEE(3dm) files, there is no direct association
  124.           between markers and loops.  However, for backwards compatibility, an
  125.           application may choose to specify loop start and end points via the
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ssssffff2222((((4444))))                                                                  ssssffff2222((((4444))))
  137.  
  138.  
  139.  
  140.           traditional AIFF-style method using mark id's (aaaaffffSSSSeeeettttLLLLooooooooppppSSSSttttaaaarrrrtttt(3dm),
  141.           etc.) or via the newer aaaaffffSSSSeeeettttLLLLooooooooppppSSSSttttaaaarrrrttttFFFFrrrraaaammmmeeee(3dm) and related
  142.           routines.  In both cases, _o_n_l_y the loop information will be written
  143.           out to the header because this format does not support markers.
  144.           Using the first-listed method, two markers are allowed, one for the
  145.           start location and one for the end point of the loop.
  146.  
  147.      When a file is opened for reading, the AF will generate a synthetic  pair
  148.      of markers for each loop found in the file.  This is done to allow
  149.      currently-existing applications to extract loop points via the old
  150.      aaaaffffGGGGeeeettttLLLLooooooooppppSSSSttttaaaarrrrtttt(3dm) mechanism.  It is important to remember that these
  151.      markers are not actually present in the header or file.
  152.  
  153.      MMMMiiiisssscccceeeellllllllaaaannnneeeeoooouuuussss CCCChhhhuuuunnnnkkkkssss::::
  154.  
  155.                AAAAFFFF____MMMMIIIISSSSCCCC____CCCCOOOOPPPPYYYY              copyright string
  156.  
  157.                AAAAFFFF____MMMMIIIISSSSCCCC____AAAAUUUUTTTTHHHH              author string
  158.  
  159.                AAAAFFFF____MMMMIIIISSSSCCCC____NNNNAAAAMMMMEEEE              name string
  160.  
  161.                AAAAFFFF____MMMMIIIISSSSCCCC____CCCCOOOOMMMMMMMMEEEENNNNTTTT           text comment string
  162.  
  163.                AAAAFFFF____MMMMIIIISSSSCCCC____IIIICCCCRRRRDDDD              creation date string
  164.  
  165.                _AAAA_FFFF______MMMM_IIII_SSSS_CCCC______IIII_SSSS_FFFF_TTTT              software name string
  166.  
  167.  
  168. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  169.      afInitFileFormat(3dm), afGetFileFormat(3dm), afIntro(3dm),
  170.      afGetInstIDs(3dm), afGetInstParams(3dm)
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.